home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / lib / python2.4 / test / test_fpformat.pyo (.txt) < prev    next >
Python Compiled Bytecode  |  2005-10-18  |  3KB  |  75 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyo (Python 2.4)
  3.  
  4. '''
  5.    Tests for fpformat module
  6.    Nick Mathewson
  7. '''
  8. from test.test_support import run_unittest
  9. import unittest
  10. from fpformat import fix, sci, NotANumber
  11. StringType = type('')
  12.  
  13. class FpformatTest(unittest.TestCase):
  14.     
  15.     def checkFix(self, n, digits):
  16.         result = fix(n, digits)
  17.         if isinstance(n, StringType):
  18.             n = repr(n)
  19.         
  20.         expected = '%.*f' % (digits, float(n))
  21.         self.assertEquals(result, expected)
  22.  
  23.     
  24.     def checkSci(self, n, digits):
  25.         result = sci(n, digits)
  26.         if isinstance(n, StringType):
  27.             n = repr(n)
  28.         
  29.         expected = '%.*e' % (digits, float(n))
  30.         (num, exp) = expected.split('e')
  31.         if len(exp) < 4:
  32.             exp = exp[0] + '0' + exp[1:]
  33.         
  34.         expected = '%se%s' % (num, exp)
  35.         self.assertEquals(result, expected)
  36.  
  37.     
  38.     def test_basic_cases(self):
  39.         self.assertEquals(fix(100.0 / 3, 3), '33.333')
  40.         self.assertEquals(sci(100.0 / 3, 3), '3.333e+001')
  41.  
  42.     
  43.     def test_reasonable_values(self):
  44.         for d in range(7):
  45.             for val in (1000.0 / 3, 1000, 1000.0, 0.002, 1.0 / 3, 10000000000.0):
  46.                 for realVal in (val, 1.0 / val, -val, -1.0 / val):
  47.                     self.checkFix(realVal, d)
  48.                     self.checkSci(realVal, d)
  49.                 
  50.             
  51.         
  52.  
  53.     
  54.     def test_failing_values(self):
  55.         self.assertEquals(fix(1.0, 1000), '1.' + '0' * 1000)
  56.         self.assertEquals(sci('1' + '0' * 1000, 0), '1e+1000')
  57.         yacht = 'Throatwobbler Mangrove'
  58.         self.assertEquals(fix(yacht, 10), yacht)
  59.         
  60.         try:
  61.             sci(yacht, 10)
  62.         except NotANumber:
  63.             pass
  64.  
  65.         self.fail('No exception on non-numeric sci')
  66.  
  67.  
  68.  
  69. def test_main():
  70.     run_unittest(FpformatTest)
  71.  
  72. if __name__ == '__main__':
  73.     test_main()
  74.  
  75.